package com.ruiyian.bridge.info.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruiyian.bridge.info.domain.Mmh2oInfo;
import com.ruiyian.bridge.project.domain.vo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author chong
 * @email 673426164@qq.com
 * @create 2022/6/17
 * Desc: 静力沉降数据
 */
public interface Mmh2oInfoMapper extends BaseMapper<Mmh2oInfo> {
    /**
     * 当前时刻数据
     * @param addr
     * @param macaddr
     * @param startTime
     * @param endTime
     * @return
     */
    DataAnalysisVo getNowMinData(@Param("addr")String addr, @Param("macaddr") String macaddr, @Param("startTime")String startTime, @Param("endTime") String endTime);

    /**
     * 时间段数据
     * @param bo
     * @return
     */
    List<DataAnalysisVo> queryDataListForSummary(Mmh2oQueryBo bo);

    /**
     * 多维度统计
     * @param dto
     * @return
     */
    List<DataAnalysisVo> queryDisByDateType(DataAnalysisDto dto);
    /**
     * 本地个数
     * @return
     */
    Long queryCount();
    /**
     * 外部个数
     * @return
     */
    Long queryRemoteCount();

    /**
     * 同步数据
     * @param startNum
     * @param endNum
     * @return
     */
    List<DataAnalysisVo> getDataList(@Param("startNum") Long startNum, @Param("endNum") Long endNum);



    /**
     * 根据当前时间,预警值查询数据
     * @param value
     * @param startDate
     * @return
     */
    List<Mmh2oInfo> queryDataAbove(@Param("value")Double value, @Param("startDate")String startDate);

    List<DataAnalysisVo> getNowMinDataByType(DataAnalysisDto dataAnalysisDto);

    /**
     * 根据时间和类型查询
     * @param dataAnalysisDto
     * @return
     */
    DataAnalysisVo queryNowDisByDateType(DataAnalysisDto dataAnalysisDto);

    /**
     * 数据导出查询
     * @param query
     * @return
     */
    List<DataAnalysisVo> queryMonitorDataPageList(MonitorDataExcelBo query);

    /**
     * 桥梁分组 统计静力传感器
     * @param bo
     * @return
     */
    List<BridgeSummaryVo> queryPageListByBridgeList(Mmh2oDayQueryBo bo);

    /**
     * 桥墩分组统计
     * @param bo
     * @return
     */
    List<BridgeSummaryVo> queryPageListBypier(Mmh2oDayQueryBo bo);


    List<DataAnalysisVo> queryByDateSenNoCorr(DataAnalysisDto dto);


    List<DataAnalysisVo> queryDisByDateSenNo(DataAnalysisDto dto);
}
